// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'

// ============================== 导出混合 ============================== //

export default (path = '') => {
  const PRE = path ? `${path.replace('/', '_')}_` : ''

  return {
    /**
     * 混入列表 (配置选项合并)
     */
    mixins: [CORE.mixModal(path, PRE)],

    /**
     * 计算属性 (慎用箭头函数)
     */
    computed: {
      /**
       * 弹窗可见 (双向绑定)
       */
      easyVisible: {
        get() {
          return this[`${PRE}visible`]
        },
        set() {
          this[`${PRE}closeModal`]()
          setTimeout(() => this[`${PRE}setOne`](), 300)
        },
      },
    },

    /**
     * 本地方法 (轻量重要在前)
     */
    methods: {
      /**
       * 改变事件
       */
      toChange() {
        this.$parent.toChange && this.$parent.toChange()
      },
    },
  }
}
